package com.wang.模式.行为.中介;

public class ClientTest {
    /*
    * 中介：用springMVC来理解，V调M的时候中介抽取一个中介者C，在具体的中介中有需要发生关联的的M，这样就把业务抽取到C中，M和M之间不发生联系

    * */
    public static void main(String[] args) {
//创建一个中介者对象
        Mediator mediator = new ConcreteMediator();
//创建 Alarm 并且加入到 ConcreteMediator 对象的 HashMap
        Alarm alarm = new Alarm(mediator, "alarm");
//创建了 CoffeeMachine 对象，并 且加入到 ConcreteMediator 对象的 HashMap
        CoffeeMachine coffeeMachine = new CoffeeMachine(mediator,"coffeeMachine");
//创建 Curtains , 并 且加入到 ConcreteMediator 对象的 HashMap
        Curtains curtains = new Curtains(mediator, "curtains");
        TV tV = new TV(mediator, "TV");
//让闹钟发出消息
        alarm.SendAlarm(0);
        coffeeMachine.FinishCoffee();
        alarm.SendAlarm(1);
    }
}